package com.hellobike.haxing.modules.order.entity;

import java.io.Serializable;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;


import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;


/**
 * @Description: 售后订单
 * @Author: haxing-boot
 * @Date: 2020-02-08
 * @Version: V1.0
 */
@Data
@TableName("t_order_aftersale")
public class OrderAftersale implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private java.lang.Long id;
    /**
     * 订单ID
     */
    @Excel(name = "订单ID", width = 15)
    private java.lang.Long orderId;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date createTime;
    /**
     * 更新时间
     */
    @Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date updateTime;
    /**
     * 类型1全部退货0部分退货
     */
    @Excel(name = "类型1全部退货0部分退货", width = 15)
    private java.lang.Integer type;
    /**
     * 售后状态10售后申请14售后失败15售后完成
     */
    @Excel(name = "售后状态10售后申请14售后失败15售后完成", width = 15)
    private java.lang.Integer afterStatus;
    /**
     * 申请原因
     */
    @Excel(name = "申请原因", width = 15)
    private java.lang.String reason;
    /**
     * 申请备注
     */
    @Excel(name = "申请备注", width = 50)
    private java.lang.String applyRemark;
    /**
     * 审核备注
     */
    @Excel(name = "审核备注", width = 50)
    private java.lang.String remark;

    /**
     * 门店id
     */
    @Excel(name = "门店id", width = 15)
    private java.lang.Long shopId;
    /**
     * deleted
     */
    @Excel(name = "deleted", width = 15)
    @TableLogic
    private java.lang.Integer deleted;
    /**
     * createBy
     */
    @Excel(name = "createBy", width = 15)
    private java.lang.Integer createBy;
    /**
     * updateBy
     */
    @Excel(name = "updateBy", width = 15)
    private java.lang.Integer updateBy;

    /**
     * 售后B端状态11待退回12待返仓13待退款
     */
    @Excel(name = "售后B端状态11待退回12待返仓13待退款", width = 15)
    private java.lang.Integer afterSubStatus;
    /**
     * 售后编号
     */
    @Excel(name = "售后编号", width = 15)
    private java.lang.String afterBillNo;
    /**
     * 退款金额
     */
    @Excel(name = "退款金额", width = 15)
    private java.math.BigDecimal returnAmount;
    /**
     * 售后类型1仅退款0退货退款
     */
    @Excel(name = "售后类型1仅退款0退货退款", width = 15)
    private java.lang.Integer afterType;
    /**
     * 售后审核类型1仅退款0退货退款
     */
    @Excel(name = "售后审核类型1仅退款0退货退款", width = 15)
    private java.lang.Integer auditAfterType;

    @Excel(name = "审核人", width = 15)
    private String auditUser;

    @Excel(name = "审核时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date auditTime;

    @Excel(name = "审核状态16被驳回（审核拒绝）17审核通过18售后待审核", width = 15)
    private Integer auditStatus;

    //订单编号
    @TableField(exist = false)
    private java.lang.String billNo;
    //支付金额
    @TableField(exist = false)
    private java.math.BigDecimal payAmount;
    //门店地址
    @TableField(exist = false)
    private java.lang.String address;
    //团长名称
    @TableField(exist = false)
    private java.lang.String shopRealName;
    //用户电话
    @TableField(exist = false)
    private java.lang.String mobile;
    //用户名称
    @TableField(exist = false)
    private java.lang.String nickname;
    //售后订单明细
    @TableField(exist = false)
    private List<OrderAftersaleDetail> afterDetailList;

    //售后图片
    @TableField(exist = false)
    private List<String> imgLinkHref;

}
